package com.zlict.admin.domain;

import com.zlict.common.annotation.Excel;
import com.zlict.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 项目基本信息对象 project
 * 
 * @author dzw
 * @date 2025-06-06
 */
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    @Excel(name = "项目编号", readConverterExp = "$column.readConverterExp()")
    private String projectNumber;


    @Excel(name = "项目名称", readConverterExp = "$column.readConverterExp()")
    private String projectName;

    /** 模式：1简易模式，2任务模式 */
    @Excel(name = "模式：1简易模式，2任务模式")
    private String mode;
    /**
     * 项目状态
     */
    @Excel(name = "项目状态")
    private String status;

    /** 项目来源 */
    @Excel(name = "项目来源")
    private Long projectSource;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private Long projectType;

    /** 技术领域 */
    @Excel(name = "技术领域")
    private String technicalField;

    /** 研发项目总预算 */
    @Excel(name = "研发项目总预算")
    private Double generalBudget;

    /** 其中政府资金 */
    @Excel(name = "其中政府资金")
    private Double governmentFund;

    /** 项目负责人-默认为创建项目的那个人 */
    @Excel(name = "项目负责人")
    private Long admin;

    /** $column.columnComment */
    private Boolean isDelete;

    /** $column.columnComment */
    private Boolean isEnable;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setProjectNumber(String projectNumber) 
    {
        this.projectNumber = projectNumber;
    }

    public String getProjectNumber() 
    {
        return projectNumber;
    }

    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }

    public void setMode(String mode) 
    {
        this.mode = mode;
    }

    public String getMode() 
    {
        return mode;
    }

    public void setProjectSource(Long projectSource) 
    {
        this.projectSource = projectSource;
    }

    public Long getProjectSource() 
    {
        return projectSource;
    }

    public void setProjectType(Long projectType) 
    {
        this.projectType = projectType;
    }

    public Long getProjectType() 
    {
        return projectType;
    }

    public void setTechnicalField(String technicalField)
    {
        this.technicalField = technicalField;
    }

    public String getTechnicalField()
    {
        return technicalField;
    }

    public void setGeneralBudget(Double generalBudget) 
    {
        this.generalBudget = generalBudget;
    }

    public Double getGeneralBudget() 
    {
        return generalBudget;
    }

    public void setGovernmentFund(Double governmentFund) 
    {
        this.governmentFund = governmentFund;
    }

    public Double getGovernmentFund() 
    {
        return governmentFund;
    }

    public void setAdmin(Long admin) 
    {
        this.admin = admin;
    }

    public Long getAdmin() 
    {
        return admin;
    }

    public void setIsDelete(Boolean isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Boolean getIsDelete() 
    {
        return isDelete;
    }

    public void setIsEnable(Boolean isEnable) 
    {
        this.isEnable = isEnable;
    }

    public Boolean getIsEnable() 
    {
        return isEnable;
    }

    public String getStatus()
        {
        return status;
    }
    public void setStatus(String status)
        {
        this.status = status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectNumber", getProjectNumber())
            .append("projectName", getProjectName())
            .append("mode", getMode())
            .append("projectSource", getProjectSource())
            .append("projectType", getProjectType())
            .append("technicalField", getTechnicalField())
            .append("generalBudget", getGeneralBudget())
            .append("governmentFund", getGovernmentFund())
            .append("admin", getAdmin())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .append("isEnable", getIsEnable())

            .toString();
    }
}
